package com.todo.strategy.online.application.frontend.service;

import com.todo.common.common.entity.response.BizPageResponse;
import com.todo.common.common.entity.response.BizResponse;
import com.todo.strategy.online.iface.request.*;
import com.todo.strategy.online.iface.response.PlanSetInfoVO;
import com.todo.strategy.online.iface.response.RecentlyPlanSetVO;

/**
 * (PlanSet)表服务接口
 *
 * @author zhangwenxiang
 * @since 2024-03-04 00:19:47
 */
public interface PlanSetAggService {

    /**
     * 新增计划清单信息
     *
     * @param param
     * @return
     */
    BizResponse<Boolean> insertPlanSet(InsertPlanSetParam param);

    /**
     * 删除计划清单信息
     *
     * @param param
     * @return
     */
    BizResponse<Boolean> removePlanSet(RemovePlanSetParam param);

    /**
     * 更新计划清单信息
     *
     * @param param
     * @return
     */
    BizResponse<Boolean> updatePlanSetById(UpdatePlanSetParam param);

    /**
     * 根据用户id查询计划清单信息
     *
     * @param param
     * @return
     */
    BizPageResponse<PlanSetInfoVO> queryPlanSetByUser(QueryPlanSetByUserParam param);


    /**
     * 查询用户最近相关计划清单【前后各一周时间】
     *
     * @param param
     * @return
     */
    BizResponse<RecentlyPlanSetVO> queryRecentlyPlanSetList(QueryRecentlyPlanSetListParam param);
}
